1. Field of the Invention
The present invention relates generally to delivering information from a server to a client, and in particular, to a method, apparatus, and article of manufacture for delivering Web content to a client.
2. Description of the Related Art
Content and information such as images and hypertext markup language (HTML) documents are delivered from a server across the Internet and the World Wide Web where the information is utilized and displayed by a client. The content and information may be prohibitively large to deliver across a limited bandwidth Internet connection. For example, several thousand bytes of server-fed documents (and images) may be transmitted to a client using a 33 kbps dial-up connection. Additionally, some features of a Web site may not be available until all of the content and information for a Web site has been received at the client. Accordingly, a degradation in performance may result with an increase in the amount of content on a Web site.
Servers may configure a Web site such that some content and information is available while the user is offline and other content and information may be available while a user is online. Accordingly, developers are forced to maintain two sets of content and information (e.g., two sets of HTML files). One set reflects the site""s capabilities while the user is offline and is installed on a client""s/user""s machine. The other set reflects the site""s capabilities while the user maintains an Internet connection (or connection to a specific server) and resides on the server. Maintaining two sets of data leads to the possibility of dissimilar experience while a user is offline verses online. Such a dissimilar experience may result even though some aspects of offline functionality may be present while online.
A high degree of overlap exists between the content and information that is available offline with the content and information available online. Additionally, the attendant maintenance issues with the different information exist. Thus, whenever a defect is identified in a common area of code, care must be taken to ensure that the defect is repaired in both locations.
Further, trade secrets, patentable subject matter, copyrighted material, and other intellectual property may be present within the source code of a Web page/site. Such source code is readily viewable by even the least sophisticated user. A mechanism is not available to prevent the viewing of such intellectual property while maintaining the full viewing and processing capabilities of a Web site regardless of whether the user is online or offline.
A method, apparatus, system, and article of manufacture for displaying Web pages on a Web browser is provided in accordance with one or more embodiments of the invention. A Web browser is augmented with a download object (also referred to as a component module control object) that has resources bound to it and an interface that (scripts running on) the Web browser can call. For example, the download object may comprise an ActiveX(trademark) control or an object written in the Java(trademark) programming language. The resources comprise all of the components necessary for a Web page.
Embodiments of the invention may operate in either an online or offline/local mode. In local mode, the components and resources of a download object exclusively comprise the contents of the Web page. Thus, since all of the components necessary for the Web page are encompassed within the download object, the Web browser can load the download object and Web page even while the user is offline. While in online mode, contents and resources stored on the server may be combined with the local content to create a Web page.
Additionally, the Web browser can detect when the server has a newer version of the download object. When the server has a newer version, the Web browser downloads and updates the client""s version with a minimum of user intervention. The intellectual property is bound up inside of the download object, and only a single method is exposed to a Web browser. Accordingly, only the most sophisticated users will be able to access